反悔操作
GitFAQ-那些可以反悔的神操作_哔哩哔哩_bilibili
1 撤销 本地尚未提交的更改
powershell
Common Lisp git checkout # 问题:包含多个不相关的功能2 撤销 提交到缓存中的文件
powershell
git reset HEAD # 删除全部
git reset <file>3 撤销 最近一次的本地 commit
powershell
git reset HEAD^ # 不会修改文件
git reset --hard HEAD^4 撤销 第一个本地提交
powershell
git update-ref -d HEAD
git rm --cached -r .5 撤销 本地分支上中间的某个提交
powershell
git rebase -i <base-branch>
# 选择那些记录需要保留
pick fds789 redme 0
d fsd798 readme 1 # 要丢弃的记录将 pick 改为 d
pick fdhi3 readme 2
# 解决冲突
vim README.md
git rebase --continu6 撤销 一个本地 git rm 的文件
powershell
git reset HEAD <file>
git checkout <file>7 撤销 一个本地 git mv
powershell
git mv <f2> <f1>8 修改 最新的 commit
powershell
git commit --amend9 撤销 本地的 merge
powershell
git reset --hard HEAD^10 撤销 本地的 rebase
powershell
git reset --hard ORIG_HEAD11 撤销 发生冲突的 merge 和 rebase
powershell
git merge --abort
git rebase --abort12 撤销 刚执行的 git pull
powershell
git reflog # 查看本地的所有操作记录
git reset --hard HEAD@{1} # @{} 是要撤销的记录13 撤销 最新的一次 push
powershell
git reset --hard HEAD^
git push --force # 会覆盖服务器上的commit,可能会受限14 撤销 一个 push 到远端的 branch / tag
powershell
git push origin -d <branch/tag>本地和远程仓库都回退到同一个版本
powershell
git branch # 查看当前分支
git reset --hard HEAD^ # HEAD^ --版本号
git push --force-with-lease origin <branch-name> # <branch-name> 要推送的分支